﻿using System;
using System.Windows.Forms;
using ClientDomain;

namespace Client
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            ClientAccessComunication.InicializarCarpeta();
            InitializeComponent();
            ClientEvents.OnErroDownloadingFiles += ClientEvents_OnErroDownloadingFiles;
            ClientEvents.OnErroUploadingFiles += ClientEvents_OnErroUploadingFiles;
            ClientEvents.OnFileDownloadedSuccessfully += ClientEvents_OnFileDownloadedSuccessfully;
            ClientEvents.OnFileUploadedSuccessfully += ClientEvents_OnFileUploadedSuccessfully;
            ClientAccessComunication.EstablecerComunicacion();
        }

        static void ClientEvents_OnFileUploadedSuccessfully()
        {
            MessageBox.Show(@"El archivo se ha cargado exitosamente", @"Archivo cargado", MessageBoxButtons.OK,
                            MessageBoxIcon.Information);
        }

        static void ClientEvents_OnFileDownloadedSuccessfully()
        {
            MessageBox.Show(@"La descarga del archivo ha sido exitosa", @"Archivo descargado", MessageBoxButtons.OK,
                            MessageBoxIcon.Information);
        }

        static void ClientEvents_OnErroUploadingFiles(string error)
        {
            MessageBox.Show(@"Hubo un error al subir el archivo", @"Error", MessageBoxButtons.OK,
                            MessageBoxIcon.Error);
        }

        static void ClientEvents_OnErroDownloadingFiles(string error)
        {
            MessageBox.Show(@"Hubo un error al descargar el archivo", @"Error", MessageBoxButtons.OK,
                            MessageBoxIcon.Error);
        }

        private void BtnUploadClick(object sender, EventArgs e)
        {
            openFileDialog = new OpenFileDialog();
            DialogResult result = openFileDialog.ShowDialog();
            if (result == DialogResult.OK)
            {
                txtBoxPath.Text = openFileDialog.FileName;
                bool checkFileExists = openFileDialog.CheckFileExists;
                if (checkFileExists)
                {
                    ClientAccessComunication.SubirArchivo(openFileDialog.FileName);
                    //if (pedido)
                    //{
                    //    MessageBox.Show(@"La carga se ha iniciado", @"Cargando", MessageBoxButtons.OK,
                    //                    MessageBoxIcon.Information);
                    //}
                    //else
                    //{
                    //    MessageBox.Show(@"Hubo un error al solicitar la subida", @"Error", MessageBoxButtons.OK,
                    //                    MessageBoxIcon.Error);                        
                    //}
                }
            }
        }


        private void BtnDownClick(object sender, EventArgs e)
        {
            if (!String.IsNullOrEmpty(txtBoxPath.Text.Trim()))
            {
                ClientAccessComunication.BajarArchivo(txtBoxPath.Text.Trim());
                //if (descarga)
                //{
                //    MessageBox.Show(@"El archivo a descargar se ha solicitado exitosamente", @"Descarga completa", MessageBoxButtons.OK,
                //                    MessageBoxIcon.Information);
                //}
                //else
                //{
                //    MessageBox.Show(@"Hubo un error al solicitar la descarga del archivo", @"Error en descarga",
                //                    MessageBoxButtons.OK,
                //                    MessageBoxIcon.Error);
                //}
            }
        }
    }
}
